/**  
 * <p> WXInfoFacade.java</p>
 * <p> com.xikang.ch.cloudweix.facade</p> 
 * <p> 2016年5月19日 上午10:20:18 </p>
 * <p>Copyright：东软熙康健康科技有限公司 2016 </p>
 * @author wdp
 */ 
package com.ylkj.wx.facade;

import java.io.IOException;
import java.security.NoSuchAlgorithmException;

import com.ylkj.wx.exception.WeichatException;

/**  
 * <p>TODO</p>
 * @author <a href=wang_dp@neusoft.com>wdp</a>
 * @version 1.0.0
 * @since  1.0.0
 */
public interface WXInfoFacade {

	/**
	 * 更新AccessToken 比较当前时间与redis中时间，如果当前时间>redis中的时间，则更新，反之则不更新
	 */
	public void setWXInfoToRedis();
	
	/**
	 * 
	 * <p>获取AccessToken</p>
	 * @return String
	 * @since   1.0.0
	 */
	public String getAccessToken();
	
	/**
	 * 
	 * <p>获取JsapiTicket</p>
	 * @return String
	 * @throws WeichatException 
	 * @throws IOException 
	 * @since   1.0.0
	 */
	public String getJsapiTicket() throws IOException, WeichatException;
	
	/**
	 * 
	 * <p>获取微信 JS 接口签名</p>
	 * @return String
	 * @throws WeichatException 
	 * @throws IOException 
	 * @since   1.0.0
	 */
	public String getSignature(long timestamp, String nonce, String jsurl) throws NoSuchAlgorithmException, IOException, WeichatException;
}
